<p>
     此实例方法在<code> this.getClass()</code>上同步。如果此类是子类的，则子类将在子类的类对象上同步，这不太可能是预期的。例如，考虑来自java.awt.Label的以下代码：
     <pre>
     private static final String base = "label";
     private static int nameCounter = 0;
     String constructComponentName() {
        synchronized (getClass()) {
            return base + nameCounter++;
        }
     }
     </pre></p>
     <p><code> Label </code>的子类不会在同一子类上同步，从而导致数据争用。相反，此代码应在<code> Label.class </code>上同步
      <pre>
     private static final String base = "label";
     private static int nameCounter = 0;
     String constructComponentName() {
        synchronized (Label.class) {
            return base + nameCounter++;
        }
     }
     </pre></p>
      <p>错误模式由Jason Mehrens提供</p>